package com.xz.sanitize.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 声明每个属性的空值处理策略。
 * 如果设置为AllowNull，即使经过清理操作本应提供默认值，该属性仍会被序列化为null。
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.TYPE})
public @interface NullPolicy {
    Mode value() default Mode.Default;

    enum Mode {
        Default,
        AllowNull
    }
}
